home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / cvs-1.8 / cvs-1 / cvs-1.8.1 / windows-NT / config.h < prev    next >
Encoding:
Text File  |  1996-05-06  |  10.8 KB  |  341 lines

  1. /* config.h --- configuration file for Windows NT
  2.    Jim Blandy <jimb@cyclic.com> --- July 1995  */
  3.  
  4. /* This file lives in the windows-NT subdirectory, which is only included
  5.    in your header search path if you're working under Microsoft Visual C++,
  6.    and use ../cvsnt.mak for your project.  Thus, this is the right place to
  7.    put configuration information for Windows NT.  */
  8.  
  9. /* Define if on AIX 3.
  10.    System headers sometimes define this.
  11.    We just want to avoid a redefinition error message.  */
  12. #undef _ALL_SOURCE
  13.  
  14. /* Define if type char is unsigned and you are not using gcc.  */
  15. /* We wrote a little test program whose output suggests that char is
  16.    signed on this system.  Go back and check the verdict when CVS
  17.    is configured on floss...  */
  18. #undef __CHAR_UNSIGNED__
  19.  
  20. /* Define to empty if the keyword does not work.  */
  21. /* Const is working.  */
  22. #undef const
  23.  
  24. /* Define to `int' if <sys/types.h> doesn't define.  */
  25. /* Windows NT doesn't have gid_t.  It doesn't even really have group
  26.    numbers, I think.  This will take more thought to get right, but
  27.    let's get it running first.  */
  28. #define gid_t int
  29.  
  30. /* Define if you support file names longer than 14 characters.  */
  31. /* Yes.  Woo.  */
  32. #define HAVE_LONG_FILE_NAMES 1
  33.  
  34. /* Define if you have <sys/wait.h> that is POSIX.1 compatible.  */
  35. /* If POSIX.1 requires this, why doesn't WNT have it?  */
  36. #undef HAVE_SYS_WAIT_H
  37.  
  38. /* Define if utime(file, NULL) sets file's timestamp to the present.  */
  39. /* Experimentation says yes.  Wish I had the full documentation, but
  40.    I have neither the CD-ROM nor a CD-ROM drive to put it in.  */
  41. #define HAVE_UTIME_NULL 1
  42.  
  43. /* Define as __inline if that's what the C compiler calls it.  */
  44. /* We apparently do have inline functions.  The 'inline' keyword is only
  45.    available from C++, though.  You have to use '__inline' in C code.  */
  46. #define inline __inline
  47.  
  48. /* Define if on MINIX.  */
  49. /* Hah.  */
  50. #undef _MINIX
  51.  
  52. /* Define to `int' if <sys/types.h> doesn't define.  */
  53. #define mode_t int
  54.  
  55. /* Define to `int' if <sys/types.h> doesn't define.  */
  56. /* Under Windows NT, we use the process handle as the pid.
  57.    We could #define pid_t to be HANDLE, but that would require
  58.    us to #include <windows.h>, which I don't trust, and HANDLE
  59.    is a pointer type anyway.  */
  60. #define pid_t int
  61.  
  62. /* Define if the system does not provide POSIX.1 features except
  63.    with this defined.  */
  64. /* This string doesn't appear anywhere in the system header files,
  65.    so I assume it's irrelevant.  */
  66. #undef _POSIX_1_SOURCE
  67.  
  68. /* Define if you need to in order for stat and other things to work.  */
  69. /* Same as for _POSIX_1_SOURCE, above.  */
  70. #undef _POSIX_SOURCE
  71.  
  72. /* Define as the return type of signal handlers (int or void).  */
  73. /* The manual says they return void.  */
  74. #define RETSIGTYPE void
  75.  
  76. /* Define to `unsigned' if <sys/types.h> doesn't define.  */
  77. /* sys/types.h doesn't define it, but stdio.h does, which cvs.h
  78.    #includes, so things should be okay.  */
  79. /* #undef size_t */
  80.  
  81. /* Define if the `S_IS*' macros in <sys/stat.h> do not work properly.  */
  82. /* We don't seem to have them at all; let ../lib/system.h define them.  */
  83. #define STAT_MACROS_BROKEN 1
  84.  
  85. /* Define if you have the ANSI C header files.  */
  86. /* We'd damn well better.  */
  87. #define STDC_HEADERS 1
  88.  
  89. /* Define if you can safely include both <sys/time.h> and <time.h>.  */
  90. /* We don't have <sys/time.h> at all.  Why isn't there a definition
  91.    for HAVE_SYS_TIME_H anywhere in config.h.in?  */
  92. #undef TIME_WITH_SYS_TIME
  93.  
  94. /* Define to `int' if <sys/types.h> doesn't define.  */
  95. #define uid_t int
  96.  
  97. /* Define if you have MIT Kerberos version 4 available.  */
  98. /* We don't.  Cygnus says they've ported it to Windows 3.1, but
  99.    I don't know if that means that it works under Windows NT as
  100.    well.  */
  101. #undef HAVE_KERBEROS
  102.  
  103. /* Define if you want CVS to be able to be a remote repository client.  */
  104. /* We just want the client stuff.  */
  105. #define CLIENT_SUPPORT
  106.  
  107. /* Define if you want CVS to be able to serve repositories to remote
  108.    clients.  */
  109. /* No server support yet.  Note that you don't have to define
  110.    CLIENT_SUPPORT or SERVER_SUPPORT to enable the non-remote code;
  111.    that's always there.  */
  112. #undef SERVER_SUPPORT
  113.  
  114. /* the path to the gnu diff program on your system  */
  115. /* We don't need this for CLIENT side.  */
  116. #undef DIFF
  117.  
  118. /* the path to the gnu grep program on your system  */
  119. /* We don't need this for CLIENT side.  */
  120. #undef GREP
  121.  
  122. /* The number of bytes in a int.  */
  123. #define SIZEOF_INT 4
  124.  
  125. /* The number of bytes in a long.  */
  126. #define SIZEOF_LONG 4
  127.  
  128. /* Define if you have the connect function.  */
  129. /* Not used?  */
  130. #define HAVE_CONNECT
  131.  
  132. /* Define if you have the fchdir function.  */
  133. #undef HAVE_FCHDIR
  134.  
  135. /* Define if you have the fchmod function.  */
  136. #undef HAVE_FCHMOD
  137.  
  138. /* Define if you have the fsync function.  */
  139. #undef HAVE_FSYNC
  140.  
  141. /* Define if you have the ftime function.  */
  142. #define HAVE_FTIME 1
  143.  
  144. /* Define if you have the ftruncate function.  */
  145. #undef HAVE_FTRUNCATE
  146.  
  147. /* Define if you have the getpagesize function.  */
  148. #undef HAVE_GETPAGESIZE
  149.  
  150. /* Define if you have the krb_get_err_text function.  */
  151. #undef HAVE_KRB_GET_ERR_TEXT
  152.  
  153. /* Define if you have the mkfifo function.  */
  154. #undef HAVE_MKFIFO
  155.  
  156. /* Define if you have the putenv function.  */
  157. #define HAVE_PUTENV 1
  158.  
  159. /* Define if you have the setvbuf function.  */
  160. #define HAVE_SETVBUF 1
  161.  
  162. /* Define if you have the sigaction function.  */
  163. #undef HAVE_SIGACTION
  164.  
  165. /* Define if you have the sigblock function.  */
  166. #undef HAVE_SIGBLOCK
  167.  
  168. /* Define if you have the sigprocmask function.  */
  169. #undef HAVE_SIGPROCMASK
  170.  
  171. /* Define if you have the sigsetmask function.  */
  172. #undef HAVE_SIGSETMASK
  173.  
  174. /* Define if you have the sigvec function.  */
  175. #undef HAVE_SIGVEC
  176.  
  177. /* Define if you have the timezone function.  */
  178. /* Hmm, I actually rather think it's an extern long
  179.    variable; that message was mechanically generated
  180.    by autoconf.  And I don't see any actual uses of
  181.    this function in the code anyway, hmm.  */
  182. #undef HAVE_TIMEZONE
  183.  
  184. /* Define if you have the vfork function.  */
  185. #undef HAVE_VFORK
  186.  
  187. /* Define if you have the vprintf function.  */
  188. #define HAVE_VPRINTF 1
  189.  
  190. /* Define if you have the <direct.h> header file.  */
  191. /* Windows NT wants this for mkdir and friends.  */
  192. #define HAVE_DIRECT_H 1
  193.  
  194. /* Define if you have the <dirent.h> header file.  */
  195. /* No, but we have the <direct.h> header file...  */
  196. #undef HAVE_DIRENT_H
  197.  
  198. /* Define if you have the <errno.h> header file.  */
  199. #define HAVE_ERRNO_H 1
  200.  
  201. /* Define if you have the <fcntl.h> header file.  */
  202. #define HAVE_FCNTL_H 1
  203.  
  204. /* Define if you have the <io.h> header file.  */
  205. /* Apparently this is where Windows NT declares all the low-level
  206.    Unix I/O routines like open and creat and stuff.  */
  207. #define HAVE_IO_H 1
  208.  
  209. /* Define if you have the <memory.h> header file.  */
  210. #define HAVE_MEMORY_H 1
  211.  
  212. /* Define if you have the <ndbm.h> header file.  */
  213. #undef HAVE_NDBM_H
  214.  
  215. /* Define if you have the <ndir.h> header file.  */
  216. #define HAVE_NDIR_H 1
  217.  
  218. /* Define if you have the <string.h> header file.  */
  219. #define HAVE_STRING_H 1
  220.  
  221. /* Define if you have the <sys/bsdtypes.h> header file.  */
  222. #undef HAVE_SYS_BSDTYPES_H
  223.  
  224. /* Define if you have the <sys/dir.h> header file.  */
  225. #undef HAVE_SYS_DIR_H
  226.  
  227. /* Define if you have the <sys/ndir.h> header file.  */
  228. #undef HAVE_SYS_NDIR_H
  229.  
  230. /* Define if you have the <sys/param.h> header file.  */    
  231. #undef HAVE_SYS_PARAM_H
  232.  
  233. /* Define if you have the <sys/select.h> header file.  */
  234. #undef HAVE_SYS_SELECT_H
  235.  
  236. /* Define if you have the <sys/time.h> header file.  */
  237. #undef HAVE_SYS_TIME_H
  238.  
  239. /* Define if you have the <sys/timeb.h> header file.  */
  240. #define HAVE_SYS_TIMEB_H 1
  241.  
  242. /* Define if you have the <unistd.h> header file.  */
  243. #undef HAVE_UNISTD_H
  244.  
  245. /* Define if you have the <utime.h> header file.  */
  246. #undef HAVE_UTIME_H
  247.  
  248. /* Define if you have the inet library (-linet).  */
  249. #undef HAVE_LIBINET
  250.  
  251. /* Define if you have the nsl library (-lnsl).  */
  252. /* This is not used anywhere in the source code.  */
  253. #undef HAVE_LIBNSL
  254.  
  255. /* Define if you have the nsl_s library (-lnsl_s).  */
  256. #undef HAVE_LIBNSL_S
  257.  
  258. /* Define if you have the socket library (-lsocket).  */
  259. /* This isn't ever used either.  */
  260. #undef HAVE_LIBSOCKET
  261.  
  262. /* Under Windows NT, mkdir only takes one argument.  */
  263. #define CVS_MKDIR wnt_mkdir
  264. extern int wnt_mkdir (const char *PATH, int MODE);
  265.  
  266. /* This function doesn't exist under Windows NT; we
  267.    provide a stub.  */
  268. extern int readlink (char *path, char *buf, int buf_size);
  269.  
  270. /* This is just a call to GetCurrentProcessID.  */
  271. extern pid_t getpid (void);
  272.  
  273. /* We definitely have prototypes.  */
  274. #define USE_PROTOTYPES 1
  275.  
  276. /* This is just a call to the Win32 Sleep function.  */
  277. unsigned sleep (unsigned);
  278.  
  279. /* Don't worry, Microsoft, it's okay for these functions to
  280.    be in our namespace.  */
  281. #define popen _popen
  282. #define pclose _pclose
  283.  
  284. /* Under Windows NT, filenames are case-insensitive, and both / and \
  285.    are path component separators.  */
  286. #define FOLD_FN_CHAR(c) (WNT_filename_classes[(unsigned char) (c)])
  287. extern unsigned char WNT_filename_classes[];
  288. #define FILENAMES_CASE_INSENSITIVE 1
  289.  
  290. /* Is the character C a path name separator?  Under
  291.    Windows NT, you can use either / or \.  */
  292. #define ISDIRSEP(c) (FOLD_FN_CHAR(c) == '/')
  293.  
  294. /* Like strcmp, but with the appropriate tweaks for file names.
  295.    Under Windows NT, filenames are case-insensitive but case-preserving,
  296.    and both \ and / are path element separators.  */
  297. extern int fncmp (const char *n1, const char *n2);
  298.  
  299. /* Fold characters in FILENAME to their canonical forms.  
  300.    If FOLD_FN_CHAR is not #defined, the system provides a default
  301.    definition for this.  */
  302. extern void fnfold (char *FILENAME);
  303.  
  304. /* #define this if your system terminates lines in text files with
  305.    CRLF instead of plain LF, and your I/O functions automatically
  306.    translate between using LF in memory and CRLF on disk, unless you
  307.    specifically tell them not to.  */
  308. #define LINES_CRLF_TERMINATED 1
  309.  
  310. /* Read data from INFILE, and copy it to OUTFILE. 
  311.    Open INFILE using INFLAGS, and OUTFILE using OUTFLAGS.
  312.    This is useful for converting between CRLF and LF line formats.  */
  313. extern void convert_file (char *INFILE,  int INFLAGS,
  314.               char *OUTFILE, int OUTFLAGS);
  315.  
  316. /* This is where old bits go to die under Windows NT.  */
  317. #define DEVNULL "nul"
  318.  
  319. /* Make sure that we don't try to perform operations on RCS files on the
  320.    local machine.  I think I neglected to apply some changes from
  321.    MHI's port in that area of code, or found some issues I didn't want
  322.    to deal with.  */
  323. #define CLIENT_ONLY
  324.  
  325. /* Don't use an rsh subprocess to connect to the server, because
  326.    the rsh does inappropriate translations on the data (CR-LF/LF).  */
  327. #define RSH_NOT_TRANSPARENT 1
  328. extern void wnt_start_server (int *tofd, int *fromfd,
  329.                   char *client_user,
  330.                   char *server_user,
  331.                   char *server_host,
  332.                   char *server_cvsroot);
  333. extern void wnt_shutdown_server (int fd);
  334. #define START_SERVER wnt_start_server
  335. #define SHUTDOWN_SERVER wnt_shutdown_server
  336.  
  337. #define INITIALIZE_SOCKET_SUBSYSTEM init_winsock
  338. extern void init_winsock();
  339.  
  340. #define HAVE_WINSOCK_H
  341.